Method and system for a low-overhead mobility management protocol in the internet protocol layer

ABSTRACT

A system and method for supporting mobile Internet communication is provided which employs a Mobile-Home Database (MHD) for Network Address Translation routers (NATs). A plurality of Mobile Nodes (MNs), each having a home network, communicate within the system via a plurality of Hosts. Each Host is associated with a NAT such that each NAT is associated with one network, but one or more Hosts. Each network&#39;s NAT&#39;s MHD identifies each network&#39;s home MNs, with a) a local address of a current association of the MN with a Host within the network or b) a binding defined by a local address of an association of the MN with a Host in a foreign network and the global address of the NAT of the foreign network. Each network&#39;s NAT&#39;s MHD also identifies each visiting MN with a local address of a current Host association of the MN.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority from U.S. Provisional Patent Application Ser. No. 60/270,190, filed Feb. 21, 2001; U.S. Provisional Patent Application Ser. No. 60/270,767, filed Feb. 22, 2001; U.S. Provisional Patent Application Ser. No. 60/296,168, filed Jun. 6, 2001; U.S. Provisional Patent Application Ser. No. 60/293,847, filed May 25,2001; U.S. Provisional Patent Application Ser. No. 60/309,046, filed Jul. 31, 2001 and U.S. patent application Ser. No. 09/997,992, filed Nov. 30, 2001.

FIELD OF THE INVENTION

[0002] The present invention relates to a system and method of mobile Internet communication. Specifically the present invention relates to managing the mobility of Mobile Nodes (MNs) within multiple administrative domains employing Network Address Translation enabled routers (NATs) for Internet communications.

BACKGROUND OF THE INVENTION

[0003] Network Address Translation enabled routers (NATs) are used for connecting private networks to the Internet. As illustrated in FIG. 2, conventional Internet communications are conducted by establishing 48 bit bindings between NATs which identify nodes which are communicating with each other. The address space is divided into a set of registered 24 bit global addresses and a set of unregistered 24 bit local addresses by the Internet Address Numbers Authority (IANA). Private networks can use any address from the unregistered address space. The public or global addresses are registered and one address from this pool is assigned to each NAT.

[0004] The inventor has recognized that it would be desirable to modify the traditional Network Address Translation functions to handle the cases where Mobile Nodes (MNs) are allowed to migrate within their own private networks and where MNs are allowed to migrate from one private network to another.

SUMMARY

[0005] A system and method for supporting mobile Internet communication is provided which has a plurality of networks. Each network has a Network Address Translation router (NAT) with a unique global address, at least one Host associated with the NAT and at least one Mobile Node (MN). The Mobile Nodes (MNs) communicate within the system via the Hosts.

[0006] Each Host is associated with one NAT and has a service area in which it can communicate data to the MNs. Each MN has a home Host within a home network which defines a default local address which is paired with the global address of the home network's NAT to define a default binding of the MN.

[0007] The invention provides the NAT of each network with an associated Mobile-Home Database (MHD) which identifies each MN, which has the network as its home network, with a) a local address of a current association of the MN with a Host within the network or b) a binding defined by a local address of an association of the MN with a Host within a different network and the global address of the different network's NAT. Each network's NAT's MHD also identifies each visiting MN, i.e. an MN which is currently associated with a Host associated with the NAT, but has a different home network, with a local address of the current Host association of the MN.

[0008] Each MN can be moved from a location where the MN communicates data via a first associated Host within a first network having a first NAT to a location within the service area of a second Host within the first network to communicate data via the second Host. MN communication via the second host is enabled by communicating to the MHB of the first NAT a local address reflecting the MN's association with the second Host.

[0009] Each MN can also be moved from a location where the MN communicates data via the first associated Host within the first network to a location within the access range of a third Host within a different second network having a second NAT to communicate data via the third Host. MN communication via the third Host is enabled by communicating to the MHB of the second NAT a local address reflecting the MN's association with the third Host. Where the second network is not the MN's home network, the MN also communicates to the MHB of the MN's home network's NAT a binding including a new local address reflecting the MN's association with the third Host and the global address of the second NAT.

[0010] The system enables a data communication from a corresponding node (CN) to a selected MN to be communicated to the selected MN by establishing a binding based on the MN's default binding or the binding reflected in the MHB of the MN's home network's NAT. The NAT with which the binding is established directs the communication to the local address identified in its MHB for the MN.

[0011] A preferred the system includes at least one network associated with a plurality of Hosts and at least one Host which is the home Host for a plurality of MNs. Nodes that are not mobile may also be associated with the Hosts within the system. These nodes can be identified in the Host's network's MHD or the network's NAT can be configured to bypass the MHD for communications directed to non-mobile nodes.

[0012] Preferably, the NAT's MHD of each network identifies 24 bit local and global addresses and a location field. Each MN, which has the network as its home network, is identified in the NAT's MHD with a) a local address of a current association of the MN with a Host within the network, a null global address, and a home flag in the location field or b) a binding defined by a local address of an association of the MN with a Host in a different network and a global address of the different network's NAT and an away flag in the location field. Each visiting MN is preferably identified in the visited network's NAT's MHD with a local address of the current Host association of the MN, a null global address, and a home flag in the location field. A binding is established between a source/corresponding node (CN) and an MN based on the binding reflected in the MHD of the MN's home network's NAT when the corresponding location field has an away flag.

[0013] The present invention can be used to implement an Internet architecture consisting of a large number private networks, individually connected to the Internet backbone via NATs. Hosts within the same private network can communicate with one another, and also with external Hosts via the Internet backbone. The routers in each private network maintain their own local routes and routers in the backbone maintain their own external routes. More specifically, the routers within a particular domain are not cognizant of routes outside that domain. Likewise, the backbone (public) routers are not cognizant of the routes to any local addresses.

[0014] Other objects and advantages of the system and method will become apparent to those skilled in the art from the following detailed description of the invention.

BRIEF DESCRIPTION OF THE DRAWING(S)

[0015]FIG. 1 is a schematic diagram of an architecture and topology of a mobile network associated with the Internet.

[0016]FIG. 2 is a diagram of a conventional Internet communication binding.

[0017]FIG. 3 illustrates a portion of a Mobile-Home Database (MHD) of one of the Network Address Translation Routers (NATs) illustrated in FIG. 1 in accordance with the teachings of the present invention.

[0018]FIG. 4 illustrates a portion of a Mobile-Home Database (MHD) of one of the Network Address Translation Routers (NATs) illustrated in FIG. 1 in accordance with the teachings of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

[0019] As illustrated in FIG. 1, private networks 10, 12, 20 are connected to an external Internet backbone via Network Address Translation enabled routers (NATs). Using such a scheme, large number of private networks can be connected to the external Internet backbone. Hosts within different private networks can communicate with each other via the backbone, using the NAT registered addresses assigned by IANA. Hosts within the same private network can communicate with each other using one of the unregistered addresses. Thus, the registered addresses are globally unique, while unregistered addresses have local significance only. The local addresses and the global addresses are mutually exclusive and are conventionally 24 bits each.

[0020] For example, networks 10, 12 and 20 are connected to the Internet via NAT enabled routers NAT-A, NAT-B and NAT-N, respectively. NAT-A, NAT-B and NAT-N are each assigned a unique Global Address by IANA. Nodes within each private network 10, 12, 20 are assigned local address based upon the Host to which the node is connected. For example, node MN_(0,A0) is illustrated as connected to the private network 10 via Host_(A0), so the local address of node MN_(0,A0) at Host_(A0) is a 24 bit code which indicates this connection. For convenience, in FIGS. 3 and 4, the global address of a NAT is identified by the NAT name and the local address indicating a connection between a particular node MN_(X) and a Host_(X) is represented as MN_(X)@Host_(X).

[0021] If a communication and/or data packet is to be sent from a node in one network to a node in another network, before data transfer can take place, a conventional NAT table is set up. By convention the node initiating contact is referred to as a corresponding node (CN). For node to node communication, the first set of actions is to establish a binding by the NATs for the networks to which the nodes are currently connected. The conventional process is described by the Internet Engineering Task Forces (IETF) Request for Comments (RFCs) 1631 and 3032. When a binding is established, an Internet Protocol (IP) data packet can be sent by the corresponding node (CN) which traverses the global Internet and reaches NAT of the receiving node based on the binding established

[0022]FIG. 2 illustrates the format the conventional binding table established between the CN and the receiving node. The bindings are made up of the nodes' global and local address combinations. For example, node MN_(0,A0) in network 10 as CN may communicate node MN_(0,B0) in network 20. For node MN_(0,A0) the binding data is the combined Global Address NAT-A and the local address MN_(0,A0)@Host_(A0). For node MN_(0,B0), the binding data is the combined Global Address NAT-B and local address MN_(0,B0)@Host_(B0).

[0023] The procedure for sending out a data packet from node MN_(0,A0) to node MN_(0,B0) is as follows. The packet is encoded with the global address NAT-A as the source address and the global address NAT-B as the destination address is sent from the source node MN_(0,A0). The receiving NAT, NAT-B in this example, checks the binding in its table, and retrieves the local address of the receiving node's Host, Host_(0B) in this example. The packet is then forwarded to that Host through which it is received by the node MN_(0,B0). Where a node is not mobile, its binding data represents a permanent address to which any CN may send data under the conventional binding system and protocols. However, mobile nodes MN may change location so that simply addressing data to a prior known address does not assure delivery without some system to accommodate connection changes by the MN.

[0024]FIGS. 3 and 4 illustrate the architecture used to implement a micro-mobility protocol between the private networks shown. The architecture includes an entity called a Mobile-Home Database (MHD) associated with each NAT. This is a large directory, tightly coupled to each NAT, for keeping track of the MNs within the private network. It also indicates when the MN has moved to a foreign network (FN).

[0025] The MHD for each NAT preferably includes an index field for each mobile node, a home/away flag field indicating whether a mobile node is associated with the NAT, a local address or care of address (COA) field and a NAT address field. Each MN has a home Host in a home network which defines a Home Address (HA) which is analogous to the permanent local address of a non-mobile node in that it is the address that a CN will use to contact the MN. The default binding for an MN is a combination of the global address of the MN's home network's NAT and the MN's home address. If at home, the MN's default binding will be used to establish a NAT/NAT connection for the CN/MN communication.

[0026] All of the MNs whose home Host is associated with a particular NAT, i.e. the home network's NAT, have data records in that NAT's MHD. One convenient way to identify the mobile nodes is using their default or home address (HA), so the index field of a network's NAT's MHD preferably lists the HAs of all of the MNs whose home network is that network to identify the data record for each MN.

[0027] The flag field represents a logical field, preferably having a value 0 or a value 1 to represent a home or an away status with respect to the network. In the present example, 0 is used to indicate that the MN has a connection with a Host in the network and 1 is used to indicate that the MN has a connection with a different network. The local address field (COA) is used to indicate to which Host the MN is currently connected. Where the local address field entry is a Host associated with a foreign network, the global address field contains the global address of that foreign network's NAT. In such case the flag field is set to 1. When the flag field is 0, the global address value is not needed since the relevant global address is that of the MHB's NAT.

[0028]FIGS. 3 and 4 illustrate various example records for the MHDs of NAT-B and NAT-N of the networks 12 and 20, respectively, at a given point in time as illustrated in FIG. 1.

[0029] Where a MN is in communication with its home Host, as illustrated with respect to mobile nodes MN_(0,B0), MN_(B1) and MN_(0,NK), the associated flag field is set to 0 and the local or COA field entry is the same as the home address. No NAT address information is required.

[0030] For MNs which are associated with a Host which is not the MN's home Host, but is a Host in the MN's home network, the MHD of the MN's home network's NAT has data entries for the flag field as 0 and the local address (COA) as the current association of the MN with its non-home Host. For example, mobile node MN_(1,B0) has a home host Host_(B0), but is illustrated in FIG. 1 as connected to host Host_(B1). The MN is identified in the index field by its HA, MN_(1,B0)@HoSt_(B0), has 0 in the flag field and has MN_(1,B0)@Host_(B1) as the COA as set forth in FIG. 3. The NAT address field information is not needed since the global address remains the same because Host_(B1) and Host_(B0) are associated with the same network with the associated global address, namely NAT-B.

[0031] Where a MN from one network connects with a host of a different network, the MN is registered in that network's NAT with a visiting address. For example, node MN_(i,Nk) has as its home host Host_(Nk) in network 20 which communicates with the Internet via NAT-N. In FIG. 1, node MN_(i,Nk) is illustrated as visiting network 12 in connection with Host_(B1) which is associated with NAT-B. Accordingly, mobile node MN_(i,Nk) is assigned a visiting address VA represented as MN_(i,Nk)@Host_(B1) in the MHD of NAT-B with a flag field 0 indicating its communication with the Internet through NAT-B and a local address of

[0032] When the mobile node, such as MN_(i,Nk), first initiates communication with the foreign network, for example, network 12, a communication is sent to the NAT of its home network, in this case, NAT-N, to enable efficient redirection of communications. The communication to the MNs home network's NAT changes the NAT's MHD data with respect to the listing for the MN by setting the flag field to 1 and providing binding data for further Internet communications. The binding data is comprised of the assigned visiting address VA and the global address of the NAT of the network which the MN is visiting.

[0033] For the example of mobile node MN_(i,Nk) the MHD of NAT-N in FIG. 4 reflects a flag value of 1, a local address of MN_(i,Nk)@Host_(B1) and a NAT address of NAT-B. A corresponding node attempting to communicate with mobile Node MN_(i,Nk) will not be able to establish a binding with NAT-N since the flag in NAT-N's MHD is set to 1. In that case, the binding is established with the binding represented by the local address and NAT address fields for MN_(i,Nk)'s entry in NAT-N's MHD. Communication is then conducted establishing a binding with the foreign NAT, in the example NAT-B.

[0034] So long as the visiting MN does not establish an association with a Host of a different network, it will preferably retain its visiting address VA identification in the MHD of the NAT whose network is visiting, which VA will be also reflected in the MHD of the mobile node's home network's NAT.

[0035] If the visiting mobile node establishes an association with another Host within the same network that it is visiting, it will retain its same VA identification in the MHD of the NAT which is visiting, but will be provided with a new local address. That new local address will be stored in the visiting MN's MHD record's COA field and the visited network's NAT will direct communications to the MN based on that COA data. No change is required in the MN's home network's NAT's MHD in such case. For example, if MN_(i,Nk) switches its association with Host_(B1) and connects to Host_(B0), the COA entry in the MHD of NAT-B will be changed from MN_(i,Nk)@Host_(B1) to MN_(i,Nk)@Host_(B0) and no change will be made in the entries in the MHD of NAT-N.

[0036] Preferably, the hosts will periodically determine whether a connection is still established with a visiting MN. If the visited host determines that the MN has disconnected and the MN has not established a connection with another host, the visited host can communicate this fact to its associated NAT which will change the COA for the visiting MN's entry to a null data state. An example of this is the entry for visiting node MN_(h,Pq) in FIG. 3. That entry indicates that MN_(h,Pq) had connected with foreign Host_(B1), but is no longer connected to network 12. Thus, no connection of MN_(h,Pq) is illustrated with any Host in FIG. 1. Such an entry will also indicate to a CN that the MN has not established a connection with another host, since the CN will only contact network 12 via the VA of MN_(h,Pq), namely MN_(h,Pq)@Host_(B1), if MN_(h,Pq)'s home network's NAT's MHD record has not been updated. If a CN attempts to communicate with the visiting node at that time and is referred to the visited network's NAT by the MN's home Host's NAT, a binding will not be established and the communication will fail.

[0037] When a MN's home network's NAT receives a communication to change the binding information for the MN from one foreign NAT to another, it preferably sends a message to the first foreign NAT reflecting the the MN is no longer visiting that NAT's network, so that the visiting node record can be deleted from the first foreign NAT's MHD. Such a message is preferably also sent, when a MN returns to its home network after visiting other networks.

[0038] The CN never needs to know the current location of the MN. The CN only needs to be aware of the static, default binding based on a MN's home address (HA) and home network's global address. This arrangement saves the flurry of registration messages from being sent over the global Internet.

[0039] The tight coupling of the MHDs to the NATs means that an IP data packet does not have to travel first to the home network. The packet can be tunneled directly to the foreign network where the MN is located. This avoids the infamous triangle routing problem.

[0040] The micro-mobility protocol for MNs roaming across multiple foreign networks (FNs) starts with the CN's NAT trying to establish a binding with the MN's home network's NAT. The process fails, when the status-bit in the MN's home network's NAT's MHD is a 1. This indicates that the MN is not currently in its home network (HN); it is in a FN. The FN has assigned a VA to the MN which is stored in the MN's home network's NAT's MHD along with the static global address of the FN. That binding data is sent back to the CN's NAT and the CN's NAT then establishes binding with the FN's NAT. The rest of the protocol then proceeds the same way as if the MN were connected with a host in its home network.

[0041] When during a communication with a CN, a MN moves from one foreign network FN₁ to a different to a different foreign network FN₂, the entries for the MN in the MHD of FN₁ are preferably set 0, NULL, NULL when the MN loses contact with the FN₁. When the MN then moves to the different FN₂, it communicates with FN₂ via a host, Host₂, associated with the NAT of FN₂, NAT-FN₂. The MN is assigned a VA of MN@Host₂ such that the entries for that VA in the MHD of NAT-FN₂ are set to 0, MN@Host₂, NULL. The binding data (MN@Host₂, NAT-FN₂) is sent to the MN's home network's NAT and the CN's NAT. A new binding is established between the CN's NAT and NAT-FN₂. The rest of the protocol then proceeds as described above.

[0042] When during a communication with a CN, a MN moves from a foreign network FN₁ to back to its home network HN, the entry for the MN in the MHD of the NAT of FN₁ is preferably set 0, NULL, NULL when the MN loses contact with the FN₁. When the MN then moves to its HN, it communicates with its HN via a host, Host_(HN), associated with its HN's NAT, NAT-HN. Note that Host_(HN) may or may not be the MN's home host, Host_(Home). In its HN's NAT's MHD, the MN already has a data record for its HA of MN@Host_(Home). That record is preferably then changed to set the associated data fields to 0, MN@Host_(HN), NULL. The binding data (MN@Host_(Home), NAT-HN) is sent to the CN's NAT. A new binding is established between the CN's NAT and NAT-HN. The rest of the protocol then proceeds as described above.

[0043] The CN's NAT in the above cases would normally be the CN's home network's NAT. However, if the CN is a MN which is visiting a FN, the CN's NAT is the NAT of the FN being visited.

[0044] Other variations and alternatives will be recognized by those of ordinary skill in the art as within the scope of the invention are intended to be included herein. 

What is claimed is:
 1. A network system for supporting mobile Internet communication comprising: a plurality of networks, each having: a Network Address Translation router (NAT) with a unique global address; at least one Host associated with the network's NAT; and at least one Mobile Node (MN); each Host having a service area in which it can communicate data to the MNs; each MN having a home Host in a home network which defines a default local address which is paired with the global address of the home network's NAT to define a default binding of the MN; the NAT of each network having an associated Mobile-Home Database (MHD) which identifies: each MN, which has the network as its home network, with: a local address of a current association of the MN with a Host in the network, or a binding defined by a local address of an association of the MN with a Host in a different network and the global address of the different network's NAT; and each visiting MN, which is a MN currently associated with a Host within the network, but has a different home network, with a local address of the current Host association of the MN; each MN being movable from a location where the MN communicates data via a first associated Host in a first network having a first NAT to: a location within the service area of a second Host within the first network to communicate data via the second Host by communicating to the MHB of the first NAT a local address reflecting the MN's association with the second Host; or a location within the access range of a third Host within a different second network having a second NAT to communicate data via the third Host by communicating to the MHB of the second NAT a local address reflecting the MN's association with the third Host and, where the second network is not the MN's home network, by also communicating to the MHB of the MN's home network's NAT a binding including a new local address reflecting the MN's association with the third Host and the global address of the second NAT; such that a data communication from a corresponding node (CN) to a selected MN is communicated to the selected MN by: establishing a binding based on the MN's default binding or the binding reflected in the MHB of the MN's home network's NAT, and directing the communication to the local address identified for the MN in the MHB of the NAT with which the binding is established.
 2. A network system according to claim 1 wherein at least one network has a plurality of Hosts and at least one Host is the home Host for a plurality of MNs.
 3. A network system according to claim 1 wherein each network's NAT's MHD identifies local and global addresses and a location field such that: each MN, which has the network as its home network, is identified with: a local address of a current association of the MN with a Host in the network, a null global address, and a home flag in the location field, or a binding defined by a local address of an association of the MN with a Host in a different network and a global address of the different network's NAT and an away flag in the location field; and each visiting MN is identified with: a local address of the current Host association of the MN, a null global address, and a home flag in the location field.
 4. A method for mobile Internet communication system which includes a plurality of networks each having a Network Address Translation router (NAT) and a unique global address, at least one Host associated with the NAT, and at least one Mobile Node (MN), each Host having a service area in which it can communicate data to the MNs, each MN having a home Host and a home network which defines a default local address which is paired with the global address of the HN's NAT to define a default binding of the MN, the method comprising: providing an associated Mobile-Home Database (MHD) for the NAT of each network which identifies: each MN, which has the network as its home network, with: a local address of a current association of the MN with a Host within the network, or a binding defined by a local address of an association of the MN with a Host within a different network and the global address of the different network's NAT; and each visiting MN, which is a MN currently associated with a Host within the network, but has a different home network, with a local address of the current Host association of the MN; when a MN moves from a location where the MN communicates data via a first associated Host within a first network having a first NAT to a location within the service area of a second Host within the first network to communicate data via the second Host, communicating to the MHB of the first NAT a local address reflecting the MN's association with the second Host; when a MN moves from a location where the MN communicates data via the first associated Host within the first network to a location within the access range of a third Host within a different second network having a second NAT, to communicate data via the third Host, communicating to the MHB of the second NAT a local address reflecting the MN's association with the third Host and, where the second network is not the MN's home network, by also communicating to the MHB of the MN's home network's NAT a binding including a new local address reflecting the MN's association with the third Host and the global address of the second NAT; and communicating a data communication from a corresponding node (CN) to a selected MN by: establishing a binding with a NAT based on the MN's default binding or the binding reflected in the MHB of the MN's home network's NAT, and directing the communication to the local address identified in the MHB of the NAT with which the binding is established for the MN.
 5. A method according to claim 4 wherein: each network's NAT's MHD identifies local and global addresses and a location field such that: each MN, which has the network as its home network, is identified with: a 24 bit local address of a current association of the MN with a Host in the network, a null global address, and a home flag in the location field, or a binding defined by a local address of an association of the MN with a Host within a different network and a global address of the different network's NAT and an away flag in the location field; and each visiting MN is identified with: a local address of the current Host association of the MN, a null global address, and a home flag in the location field; and a binding is established between the CN and an MN based on the binding reflected in the MHB of the MN's home network's NAT when the corresponding location field has an away flag.
 6. A Network Address Translation router (NAT) for a network system which includes a plurality of networks, each having a NAT with a unique global address, at least one Host associated with the NAT and at least one Mobile Node (MN), each Host having a service area in which it can communicate data to the MNs, each MN having a home Host and home network which defines a default local address which is paired with the global address of the home network's NAT to define a default binding of the MN, the NAT comprising: a Mobile-Home Database (MHD) which identifies: each MN, which has as its home Host, a Host associated with the NAT, with: a local address of a current association of the MN with a Host associated with the NAT, or a binding defined by a local address of an association of the MN with a Host not associated with the NAT and the global address of the NAT associated with that Host; and each MN, which is currently associated with a Host associated with the NAT, but has a home Host which is not associated with the NAT, with a local address of the current Host association; such that a data communication from a corresponding node (CN) to a selected MN which has as its home Host, a Host associated with the NAT, is communicated to the selected MN by: establishing a binding based on the MN's default binding or the binding reflected in the MHB of the NAT, and if the binding is established is established with the NAT, directing the communication to the local address identified in the MHB.
 7. A NAT according to claim 6 wherein the MHD identifies 24 bit local and global addresses and a location field such that: each MN, which has as its home Host, a Host associated with the NAT, is identified with: a 24 bit local address of a current association of the MN with a Host associated with the NAT, a null global address, and a home flag in the location field, or a binding defined by a 24 bit local address of an association of the MN with a Host not associated with the NAT and a 24 bit global address of the NAT associated with that Host and an away flag in the location field; and each MN, which is currently associated with a Host associated with the NAT, but has a home Host which is not associated with the NAT, is identified with: a 24 bit local address of the current Host association of the MN, a null global address, and a home flag in the location field. 